package br.com.calculadora.formula.calcular;

import android.util.Log;

public class CalcularTempo extends CalcularAbstract {
	
	private final String TAG = CalcularTempo.class.getSimpleName();
	
	// V = V0 + A * T
	public Double calcularTempo1() {
		Double resultadoFinal = (Double.parseDouble(bean.getVelocidadeInicial()) - Double.parseDouble(bean.getVelocidadeFinal())) / Double.parseDouble(bean.getAceleracao());
		this.armazenarValor(resultadoFinal, "V = V0 + A * T");
		return resultadoFinal;
	}

	// S = S0 + V0 + (A T^T)/2
	public Double calcularTempo2() {
		Double resultado0 = Double.parseDouble(bean.getDeslocamentoInicial()) + Double.parseDouble(bean.getVelocidadeInicial()) - Double.parseDouble(bean.getDeslocamentoFinal()); // S0 + V0
		Double resultado2 = Double.parseDouble(bean.getAceleracao()) / 2; // A / 2
		Double resultado3 = resultado0 / resultado2;
		Double resultadoFinal = Math.sqrt(resultado3);
		this.armazenarValor(resultadoFinal, "V = V0 + A * T");
		return resultadoFinal;
	}

	// T = S / VM
	public Double calcularTempo3() {
		Double resultadoFinal = Double.parseDouble(bean.getDeslocamento()) / Double.parseDouble(bean.getVelocidadeMedia());
		this.armazenarValor(resultadoFinal, "T = S / VM");
		return resultadoFinal;
	}
	
	//T = TF * TI
	//public Double calcularTempo4(FisicaBean bean){
	//	Double resultadoFinal = Double.parseDouble(bean.getTempoFinal()) * Double.parseDouble(bean.getTempoInicial());
	//	this.armazenarValor(bean, resultadoFinal);
	//	Log.i(TAG, "Calcular tempo: T = TFinal * TInicial");
	//	return resultadoFinal;
	//}
	
	@Override
	public void armazenarValor(double resultadoFinal, String txtFormula) {
		bean.setTempo(String.valueOf(resultadoFinal));
		Log.i(TAG, "Calcular tempo: " + txtFormula);
	}

}
